1. Field of the Invention
The present invention relates to image forming apparatus and image forming method, and particularly to image forming apparatus and image forming method in which an image can be efficiently formed by properly dividing a sequence of instructions when image information is formed by executing a sequence of instructions described by a language expressing a document.
2. Description of the Related Art
In order to print out a document expressed by a page description language at high speed, there is required a system which may interpret and execute a description based on a page description language at high speed. To construct a system of which the processing speed exceeds a limit of a processing speed of a single processor, it is necessary to realize a system which may execute parallel processing on a multiprocessor.
On the other hand, a document created by a user is converted into an existing page description language which is designed to be executed sequentially, and sent to a printer. In order to efficiently interpret and execute the expression based on such page description language on the multiprocessor system, it is necessary to properly distribute units that can be executed in parallel to individual processors.
A typical processing of a sequential execution type page description language is executed by repeating an operation of one page in which a plotting instruction is specified by interpreting inputted data, a partial graphic form is plotted by supplying plotting data to the plotting instruction, and the partial graphic forms are accumulated and stored. In order to execute the above-mentioned processing in parallel, inputted data has to be divided into proper units in the input interpreting processing, these proper units have to be distributed to and parallel-processed by a plurality of processors for executing plotting operations and have to be collected as one page in the processing for accumulating these processed results. Japanese Published Unexamined patent application No. Hei 8-10465, for example, describes a system for executing such processing. According to this previously-proposed system, an inputted data stream is divided into blocks, blocks are converted into intermediate format data by interpreting contents of the blocks, a raster pixel map is generated from the intermediate format data and raster data is generated from the page description language by sorting and synthesizing the raster pixel map. The processing from the interpreting processing to the sort processing is executed by a plurality of pipelines which are operated in parallel.
In the method described in Japanese Published Unexamined patent application No. Hei 8-10465, the data stream inputted to the system as inputted data is divided into state-independent blocks, and a high-speed processing may be realized by interpreting the divided blocks in parallel. However, according to this previously-proposed method, it is difficult to construct the system in actual practice due to the following two reasons. Specifically, in the first reason, it is difficult to divide the page description language representation which appears on the inputted data stream into state-independent blocks by a simple symbolic manipulation. A plotting command of a page description language executes an operation with reference to a variety of attribute values, and these attribute values are modeled as the states of a language processing system. Therefore, although the states of the language processing system have to be predicted in order to discriminate the state-independent blocks, it is difficult to realize this operation by only the symbolic manipulation. In the second reason, the loads on the pipelines of the succeeding stages are not taken into consideration, and it is frequently observed that loads for processing divided blocks are not dispersed equally. To generate image data of one page which can be printed out, the processing of the pipelines which require a longest time period is inevitable for such processing. Therefore, unless the loads are dispersed equally, there is then the problem that the standby time will increase so that effects achieved by the parallel-processing will be ruined.